package com.hst.web.base.entity;

import java.io.Serializable;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import com.hst.core.annotation.Comment;
import com.hst.core.annotation.HSID;
import com.hst.core.dao.BaseEntity;

@Entity
@Table(name = "t_company_employee")
@Comment("员工信息表")
@HSID(length = 9, prefix = "E", resetByDay = true)
public class TCompanyEmployee extends BaseEntity implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "employee_code", length = 16)
	@Comment("员工编号")
	@GeneratedValue(generator = "hsid")
	@GenericGenerator(name = "hsid", strategy = "com.hst.core.hbm.HSIDGenerator")
	private String employeeCode;

	@Column(name = "fullname", length = 100)
	@Comment("员工姓名")
	private String fullname;

	@Column(name = "papers_number", length = 32)
	@Comment("证件号")
	private String papersNumber;

	@Column(name = "papers_type", length = 2)
	@Comment("证件类型")
	private String papersType;

	@Column(name = "issue_no", length = 20)
	@Comment("卡号(正在使用的卡号)")
	private String issueNo;

	@Column(name = "pass_old", length = 20)
	@Comment("旧版人员证号")
	private String passOld;

	@Column(name = "oldpass_status", length = 32)
	@Comment("旧版人员证状态")
	private String oldpassStatus;

	@Column(name = "oldpass_verified", length = 2)
	@Comment("旧版通行证验证状态")
	private String oldpassVerified;

	@Column(name = "pushflag", length = 2, columnDefinition = "varchar2(2) default '0'")
	@Comment("下发状态:是否下发到卡口,0-未下发 (默认值) ,1-已下发")
	private String pushflag;

	@Column(name = "check_status", length = 2)
	@Comment("审核状态    0:新建,1:待审核,2:审核通过,3:审核不通过,4:已发证")
	private String checkStatus;

	@Column(name = "review_status", length = 2)
	@Comment("复核状态    0:待复核,1: 已复核,2:复核不通过")
	private String reviewStatus;

	@Column(name = "begin_expirydate")
	@Comment("有效期开始时间")
	private Timestamp beginExpirydate;

	@Column(name = "end_expirydate")
	@Comment("有效期结束时间")
	private Timestamp endExpirydate;

	@Column(name = "identify_flag", length = 2)
	@Comment("实名认证")
	private String identifyFlag = "01";
	
	@Column(name = "concern_type", length = 2)
	@Comment("关注类型")
	private String concernType;
	
	@Column(name = "job_status", length = 2)
	@Comment("在职状态,1-入职,2-离职")
	private String jobStatus;

	//start 承运商新增需求
	@Column(name = "employee_type_id", length = 20)
	@Comment("人员类别ID")
	private String employeeTypeId;

	@Column(name = "is_contract", length = 20)
	@Comment("是否已上传合同,1-已上传,2-未上传")
	private String isContract;
	//end 承运商新增需求

	public String getConcernType() {
		return concernType;
	}

	public void setConcernType(String concernType) {
		this.concernType = concernType;
	}

	public String getEmployeeCode() {
		return employeeCode;
	}

	public void setEmployeeCode(String employeeCode) {
		this.employeeCode = employeeCode;
	}

	public String getFullname() {
		return fullname;
	}

	public void setFullname(String fullname) {
		this.fullname = fullname;
	}

	public String getPapersNumber() {
		return papersNumber;
	}

	public void setPapersNumber(String papersNumber) {
		this.papersNumber = papersNumber;
	}

	public String getPapersType() {
		return papersType;
	}

	public void setPapersType(String papersType) {
		this.papersType = papersType;
	}

	public String getIssueNo() {
		return issueNo;
	}

	public void setIssueNo(String issueNo) {
		this.issueNo = issueNo;
	}

	public String getPassOld() {
		return passOld;
	}

	public void setPassOld(String passOld) {
		this.passOld = passOld; 
	}

	public String getOldpassStatus() {
		return oldpassStatus;
	}

	public void setOldpassStatus(String oldpassStatus) {
		this.oldpassStatus = oldpassStatus;
	}

	public String getPushflag() {
		return pushflag;
	}

	public void setPushflag(String pushflag) {
		this.pushflag = pushflag;
	}

	public String getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(String checkStatus) {
		this.checkStatus = checkStatus;
	}

	public String getReviewStatus() {
		return reviewStatus;
	}

	public void setReviewStatus(String reviewStatus) {
		this.reviewStatus = reviewStatus;
	}

	public Timestamp getBeginExpirydate() {
		return beginExpirydate;
	}

	public void setBeginExpirydate(Timestamp beginExpirydate) {
		this.beginExpirydate = beginExpirydate;
	}

	public Timestamp getEndExpirydate() {
		return endExpirydate;
	}

	public void setEndExpirydate(Timestamp endExpirydate) {
		this.endExpirydate = endExpirydate;
	}

	public String getOldpassVerified() {
		return oldpassVerified;
	}

	public void setOldpassVerified(String oldpassVerified) {
		this.oldpassVerified = oldpassVerified;
	}

	public String getIdentifyFlag() {
		return identifyFlag;
	}

	public void setIdentifyFlag(String identifyFlag) {
		this.identifyFlag = identifyFlag;
	}

	public String getJobStatus() {
		return jobStatus;
	}

	public void setJobStatus(String jobStatus) {
		this.jobStatus = jobStatus;
	}

	public String getEmployeeTypeId() {
		return employeeTypeId;
	}

	public void setEmployeeTypeId(String employeeTypeId) {
		this.employeeTypeId = employeeTypeId;
	}

	public String getIsContract() {
		return isContract;
	}

	public void setIsContract(String isContract) {
		this.isContract = isContract;
	}
}
